package c10异常;

public class return和throw和自增自减的题目 {
	private int value = 10;

	private void test() throws Exception {
		try {
			try {
				value = value / 0;
			} catch (Exception e) {
				System.err.print("0--");
				System.err.println(++value);
				return;//即使加了这句finally的代码一样会执行！
			} finally {//catch后必定会执行的代码！
				value = value++ * value--;//最后value=11*12
				System.err.print("1--");
				System.err.println(value);
				value = value / (1 / 2 * value);//1/2为0，导致value/0抛出除0异常！直接跳到下面的catch！
				System.err.println(value);
			}
			value += 100;
			System.err.print("2--");
			System.err.println(value);
		} catch (Exception ee) {
			value -= 100;//相当于value=132-100
			System.err.print("3--");
			System.err.println(value);
			throw ee;//即使抛出异常也要执行下面的finally！
		} finally {//接着上面的catch执行
			System.err.print("4--");
			System.err.println(value % 10);
		}
	}

	public static void main(String[] args) {
		try {
			new return和throw和自增自减的题目().test();
		} catch (Exception e) {
		}
	}
}

